/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.lestr.genver.data.serialization;

/**
 *
 * @author PIBONNIN
 */
public interface IBeanSerializer {


    public Class<?> getTargetType();


    public Iterable<String> getFieldsNames();


    public Class<?> getFieldType(String fieldName);


    public boolean isArrayField(String fieldName);


    public Object getFieldValue(String fieldName,
                                Object target);


    public void setFieldValue(String fieldName,
                              Object target,
                              Object value);


    public Object[] getArrayFieldValues(String fieldName,
                                        Object target);


    public void setArrayFieldValue(String fieldName,
                                   Object target,
                                   Object[] values);


}// END Interface IBeanSerializer
